package com.yixun.qfbao.api.service;

import com.yixun.qfbao.apidto.*;
import com.yixun.qfbao.model.Company;
import com.yixun.qfbao.model.dto.CompanyDto;

import java.util.List;

/**
 * @author guifang.weng
 * @create 2017-11-27 10:26
 **/
public interface CompanyService {
	/**
	 * 根据ID获取公司信息
	 * 
	 * @param id
	 * @return
	 */
	Company getCompanyById(Long id);
	
	/**
	 * 获取佣金状态
	 * 
	 * @param higherId
	 * @return
	 */
	boolean getCommissionFlag(Long higherId);
	
	/**
	 * 根据账号获取公司信息，分销助手
	 * 
	 * @param entity
	 * @return
	 */
	GetCompanyByPhoneResDto getCompanyByPhone(GetCompanyByPhoneReqDto entity);
	
	/**
	 * 根据账号获取公司信息，案场助手
	 * 
	 * @param entity
	 * @return
	 */
	GetCompanyByPhoneResDto getCompanyByAssistantPhone(GetCompanyByPhoneReqDto entity);
	
	/**
	 * 查询单个
	 * @param entity 搜索条件
	 * @return 分页记录
	 */
	Company selectByDto(CompanyDto entity);

	/**
	 * 根据ID获取公司信息
	 * 
	 * @param entity
	 * @return
	 */
	ChangeAgencyIndexSwitchResDto changeAgencyIndexSwitch(ChangeAgencyIndexSwitchReqDto entity);

	/**
	 * 获取公司信息
	 * @param entity
	 * @return
	 */
	GetCompanyInfoResDto getCompanyInfo(GetCompanyInfoReqDto entity);

    GetAgencyIndexSwitchResDto getAgencyIndexSwitch(GetAgencyIndexSwitchReqDto reqDto);
    
    Company selectCompanyByCompanyCode(String companyCode, Long companyId, List<String> companyUuids);
    
    /**
     * 编辑
     * @param company
     * @return
     */
    int edit(Company company);
}
